<?php
class Mapper_Provincie extends DBTable{

	public function __construct(Database $db = null){
		parent::__construct("provincie", $db);
	}

	public function get($provincie_id){
		$query = "
SELECT
	provincie.*,
	IFNULL((
		SELECT
			True
		FROM
			woonplaats
		WHERE woonplaats.provincie_id = provincie.provincie_id
		LIMIT 1
	), False) AS IsInUse
FROM provincie
WHERE provincie_id = :provincie_id";

		$stmt = $this->prepare($query);
		$stmt->bindParam(":provincie_id", $provincie_id);

		return $stmt->fetchObjectOnce("Provincie");
	}

	public function getByName($provincie_naam){
		$query = "
SELECT
	provincie.*,
	IFNULL((
		SELECT
			True
		FROM
			woonplaats
		WHERE woonplaats.provincie_id = provincie.provincie_id
		LIMIT 1
	), False) AS IsInUse
FROM provincie
WHERE provincie_naam = :provincie_naam";

		$stmt = $this->prepare($query);
		$stmt->bindParam(":provincie_naam", $provincie_naam);

		return $stmt->fetchObjectOnce("Provincie");
	}

	public function getAll(){
		$query = "
SELECT
	provincie.*,
	IFNULL((
		SELECT
			True
		FROM
			woonplaats
		WHERE woonplaats.provincie_id = provincie.provincie_id
		LIMIT 1
	), False) AS IsInUse
FROM provincie";

		return $this->prepare($query)->fetchObjectAll("Provincie");
	}
}